Other Categories

NSExpression(MGLAdditions)

@interface NSExpression (MGLAdditions)

Methods for creating expressions that use Mapbox-specific functionality and for converting to and from the JSON format defined in the Mapbox Style Specification.

Creating Variable Expressions

  • zoomLevelVariableExpression

    NSExpression variable that corresponds to the zoom expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull zoomLevelVariableExpression;

    Swift

    class var zoomLevelVariable: NSExpression { get }
  • heatmapDensityVariableExpression

    NSExpression variable that corresponds to the heatmap-density expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull heatmapDensityVariableExpression;

    Swift

    class var heatmapDensityVariable: NSExpression { get }
  • lineProgressVariableExpression

    NSExpression variable that corresponds to the line-progress expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull lineProgressVariableExpression;

    Swift

    class var lineProgressVariable: NSExpression { get }
  • geometryTypeVariableExpression

    NSExpression variable that corresponds to the geometry-type expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull geometryTypeVariableExpression;

    Swift

    class var geometryTypeVariable: NSExpression { get }
  • featureIdentifierVariableExpression

    NSExpression variable that corresponds to the id expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull featureIdentifierVariableExpression;

    Swift

    class var featureIdentifierVariable: NSExpression { get }
  • featureAccumulatedVariableExpression

    NSExpression variable that corresponds to the id expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull featureAccumulatedVariableExpression;

    Swift

    class var featureAccumulatedVariable: NSExpression { get }
  • featureAttributesVariableExpression

    NSExpression variable that corresponds to the properties expression operator in the Mapbox Style Specification.

    Declaration

    Objective-C

    @property (class, nonatomic, readonly) NSExpression *_Nonnull featureAttributesVariableExpression;

    Swift

    class var featureAttributesVariable: NSExpression { get }

Creating Conditional Expressions

  • +mgl_expressionForConditional:trueExpression:falseExpresssion:

    Returns a conditional function expression specifying the string predicate, and expressions for each condition.

    Declaration

    Objective-C

    + (nonnull instancetype)
                  mgl_expressionForConditional:(nonnull NSPredicate *)conditionPredicate
                                trueExpression:(nonnull NSExpression *)trueExpression
                              falseExpresssion:(nonnull NSExpression *)falseExpression;

    Swift

    convenience init(forMGLConditional conditionPredicate: NSPredicate, trueExpression: NSExpression, falseExpression: NSExpression)

    Parameters

    conditionPredicate

    The predicate to get evaluated.

    trueExpression

    The expression for conditions equal to true.

    falseExpression

    The expression for conditions equal to false.

Creating Ramp, Scale, and Curve Expressions

  • +mgl_expressionForSteppingExpression:fromExpression:stops:

    Returns a step function expression specifying the stepping, from expression and stops.

    See the Data-driven circles, Cluster point data, and Use images to cluster point data examples to learn how to use this expression to style a map layer based on an attribute value.

    Declaration

    Objective-C

    + (nonnull instancetype)
                  mgl_expressionForSteppingExpression:
                      (nonnull NSExpression *)steppingExpression
                                       fromExpression:
                                           (nonnull NSExpression *)minimumExpression
                                                stops:(nonnull NSExpression *)stops;

    Swift

    convenience init(forMGLStepping steppingExpression: NSExpression, from minimumExpression: NSExpression, stops: NSExpression)

    Parameters

    steppingExpression

    The stepping expression.

    minimumExpression

    The expression which could be a constant or function expression.

    stops

    The stops must be an NSDictionary constant NSExpression.

  • +mgl_expressionForInterpolatingExpression:withCurveType:parameters:stops:

    Returns an interpolated function expression specifying the function operator, curve type, parameters and steps.

    See the Create a heatmap layer example to learn how to style an MGLHeatmapStyleLayer based on zoom level and point density with this expression.

    Declaration

    Objective-C

    + (nonnull instancetype)
                  mgl_expressionForInterpolatingExpression:
                      (nonnull NSExpression *)inputExpression
                                             withCurveType:
                                                 (nonnull MGLExpressionInterpolationMode)
                                                     curveType
                                                parameters:(nullable NSExpression *)parameters
                                                     stops:(nonnull NSExpression *)stops;

    Swift

    convenience init(forMGLInterpolating inputExpression: NSExpression, curveType: MGLExpressionInterpolationMode, parameters: NSExpression?, stops: NSExpression)

    Parameters

    inputExpression

    The interpolating expression input.

    curveType
    parameters

    The parameters expression.

    stops

    The stops expression.

  • +mgl_expressionForMatchingExpression:inDictionary:defaultExpression:

    Returns a match function expression specifying the input, matching values, and default value.

    Declaration

    Objective-C

    + (nonnull instancetype)
                  mgl_expressionForMatchingExpression:(nonnull NSExpression *)inputExpression
                                         inDictionary:(nonnull NSDictionary<NSExpression *,
                                                                            NSExpression *> *)
                                                          matchedExpressions
                                    defaultExpression:
                                        (nonnull NSExpression *)defaultExpression;

    Swift

    convenience init(forMGLMatchingKey inputExpression: NSExpression, in matchedExpressions: [NSExpression : NSExpression], default defaultExpression: NSExpression)

    Parameters

    inputExpression

    The matching expression.

    matchedExpressions

    The matched values expression dictionary must be condition : value.

    defaultExpression

    The defaultValue expression to be used in case there is no match.

  • +mgl_expressionForAttributedExpressions:

    Returns an attributed function expression specifying an MGLAttributedExpression constant expression array.

    Declaration

    Objective-C

    + (nonnull instancetype)mgl_expressionForAttributedExpressions:
                  (nonnull NSArray<NSExpression *> *)attributedExpressions;

    Swift

    convenience init(forAttributedExpressions attributedExpressions: [NSExpression])

    Parameters

    attributedExpressions

    The MGLAttributedExpression constant expression array.

Concatenating String Expressions

  • -mgl_expressionByAppendingExpression:

    Returns a constant expression appending the passed expression.

    Note

    Both the receiver and the given expression must be an NSString constant expression type; otherwise, an exception is rised.

    Declaration

    Objective-C

    - (nonnull instancetype)mgl_expressionByAppendingExpression:
                  (nonnull NSExpression *)expression;

    Swift

    func mgl_appending(_ expression: NSExpression) -> Self

    Parameters

    expression

    The expression to append to the receiver.

Converting JSON Expressions

  • +expressionWithMGLJSONObject:

    Returns an expression equivalent to the given Foundation object deserialized from JSON data.

    The Foundation object is interpreted according to the Mapbox Style Specification. See the “Information for Style Authors” guide for a correspondence of operators and types between the style specification and the NSExpression representation used by this SDK.

    Declaration

    Objective-C

    + (nonnull instancetype)expressionWithMGLJSONObject:(nonnull id)object;

    Swift

    convenience init(mglJSONObject object: Any)

    Parameters

    object

    A Foundation object deserialized from JSON data, for example using NSJSONSerialization.

    Return Value

    An initialized expression equivalent to object, suitable for use as the value of a style layer attribute.

  • mgl_jsonExpressionObject

    An equivalent Foundation object that can be serialized as JSON.

    The Foundation object conforms to the Mapbox Style Specification. See the “Information for Style Authors” guide for a correspondence of operators and types between the style specification and the NSExpression representation used by this SDK.

    You can use NSJSONSerialization to serialize the Foundation object as data to write to a file.

    Declaration

    Objective-C

    @property (nonatomic, readonly) id _Nonnull mgl_jsonExpressionObject;

    Swift

    var mgl_jsonExpressionObject: Any { get }

Localizing the Expression

  • -mgl_expressionLocalizedIntoLocale:

    Returns a copy of the receiver localized into the given locale.

    This method assumes the receiver refers to the feature attributes that are available in vector tiles supplied by the Mapbox Streets source. On iOS, the user can set the system’s preferred language in Settings, General Settings, Language & Region. On macOS, the user can set the system’s preferred language in the Language & Region pane of System Preferences.

    Declaration

    Objective-C

    - (nonnull NSExpression *)mgl_expressionLocalizedIntoLocale:
                  (nullable NSLocale *)locale;

    Swift

    func mgl_expressionLocalized(into locale: Locale?) -> NSExpression

    Parameters

    locale

    The locale into which labels should be localized. To use the system’s preferred language, if supported, specify nil. To use the local language, specify a locale with the identifier mul.

NSValue(MGLAdditions)

@interface NSValue (MGLAdditions)

Methods for round-tripping values for Mapbox-defined types.

Working with Geographic Coordinate Values

  • +valueWithMGLCoordinate:

    Creates a new value object containing the specified Core Location geographic coordinate structure.

    Declaration

    Objective-C

    + (nonnull instancetype)valueWithMGLCoordinate:
                  (CLLocationCoordinate2D)coordinate;

    Swift

    convenience init(mglCoordinate coordinate: CLLocationCoordinate2D)

    Parameters

    coordinate

    The value for the new object.

    Return Value

    A new value object that contains the geographic coordinate information.

  • MGLCoordinateValue

    The Core Location geographic coordinate structure representation of the value.

    Declaration

    Objective-C

    @property (readonly) CLLocationCoordinate2D MGLCoordinateValue;

    Swift

    var mglCoordinateValue: CLLocationCoordinate2D { get }
  • +valueWithMGLMapPoint:

    Creates a new value object containing the specified Mapbox map point structure.

    Declaration

    Objective-C

    + (nonnull instancetype)valueWithMGLMapPoint:(MGLMapPoint)point;

    Swift

    convenience init(mglMapPoint point: MGLMapPoint)

    Parameters

    point

    The value for the new object.

    Return Value

    A new value object that contains the coordinate and zoom level information.

  • MGLMapPointValue

    The Mapbox map point structure representation of the value.

    Declaration

    Objective-C

    @property (readonly) MGLMapPoint MGLMapPointValue;

    Swift

    var mglMapPointValue: MGLMapPoint { get }
  • +valueWithMGLCoordinateSpan:

    Creates a new value object containing the specified Mapbox coordinate span structure.

    Declaration

    Objective-C

    + (nonnull instancetype)valueWithMGLCoordinateSpan:(MGLCoordinateSpan)span;

    Swift

    convenience init(mglCoordinateSpan span: MGLCoordinateSpan)

    Parameters

    span

    The value for the new object.

    Return Value

    A new value object that contains the coordinate span information.

  • MGLCoordinateSpanValue

    The Mapbox coordinate span structure representation of the value.

    Declaration

    Objective-C

    @property (readonly) MGLCoordinateSpan MGLCoordinateSpanValue;

    Swift

    var mglCoordinateSpanValue: MGLCoordinateSpan { get }
  • +valueWithMGLCoordinateBounds:

    Creates a new value object containing the specified Mapbox coordinate bounds structure.

    Declaration

    Objective-C

    + (nonnull instancetype)valueWithMGLCoordinateBounds:
                  (MGLCoordinateBounds)bounds;

    Swift

    convenience init(mglCoordinateBounds bounds: MGLCoordinateBounds)

    Parameters

    bounds

    The value for the new object.

    Return Value

    A new value object that contains the coordinate bounds information.

  • MGLCoordinateBoundsValue

    The Mapbox coordinate bounds structure representation of the value.

    Declaration

    Objective-C

    @property (readonly) MGLCoordinateBounds MGLCoordinateBoundsValue;

    Swift

    var mglCoordinateBoundsValue: MGLCoordinateBounds { get }
  • +valueWithMGLCoordinateQuad:

    Creates a new value object containing the specified Mapbox coordinate quad structure.

    Declaration

    Objective-C

    + (nonnull instancetype)valueWithMGLCoordinateQuad:(MGLCoordinateQuad)quad;

    Swift

    convenience init(mglCoordinateQuad quad: MGLCoordinateQuad)

    Parameters

    quad

    The value for the new object.

    Return Value

    A new value object that contains the coordinate quad information.

  • -MGLCoordinateQuadValue

    The Mapbox coordinate quad structure representation of the value.

    Declaration

    Objective-C

    - (MGLCoordinateQuad)MGLCoordinateQuadValue;

    Swift

    func mglCoordinateQuadValue() -> MGLCoordinateQuad

Working with Offline Map Values

Working with Transition Values

NSValue(MGLCircleStyleLayerAdditions)

@interface NSValue (MGLCircleStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLCircleStyleLayer object and unwrapping its raw value.

Working with Circle Style Layer Attribute Values

NSValue(MGLFillExtrusionStyleLayerAdditions)

@interface NSValue (MGLFillExtrusionStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLFillExtrusionStyleLayer object and unwrapping its raw value.

Working with Fill extrusion Style Layer Attribute Values

NSValue(MGLFillStyleLayerAdditions)

@interface NSValue (MGLFillStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLFillStyleLayer object and unwrapping its raw value.

Working with Fill Style Layer Attribute Values

NSValue(MGLHillshadeStyleLayerAdditions)

@interface NSValue (MGLHillshadeStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLHillshadeStyleLayer object and unwrapping its raw value.

Working with Hillshade Style Layer Attribute Values

NSValue(MGLLineStyleLayerAdditions)

@interface NSValue (MGLLineStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLLineStyleLayer object and unwrapping its raw value.

Working with Line Style Layer Attribute Values

NSValue(MGLRasterStyleLayerAdditions)

@interface NSValue (MGLRasterStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLRasterStyleLayer object and unwrapping its raw value.

Working with Raster Style Layer Attribute Values

NSValue(MGLSymbolStyleLayerAdditions)

@interface NSValue (MGLSymbolStyleLayerAdditions)

Methods for wrapping an enumeration value for a style layer attribute in an MGLSymbolStyleLayer object and unwrapping its raw value.

Working with Symbol Style Layer Attribute Values